home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software 2000
/
Software 2000 Volume 1 (Disc 1 of 2).iso
/
utilities
/
u267.dms
/
u267.adf
/
INC9110B.LZH
/
include
/
stdio.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-07-15
|
4KB
|
158 lines
/*
* Libraries and headers for PDC release 3.3 (C) 1989 Lionel Hummel.
* PDC Software Distribution (C) 1989 Lionel Hummel and Paul Petersen.
* PDC I/O Library (C) 1987 by J.A. Lydiatt.
*
* This code is freely redistributable upon the conditions that this
* notice remains intact and that modified versions of this file not
* be included as part of the PDC Software Distribution without the
* express consent of the copyright holders. No warrantee of any
* kind is provided with this code. For further information, contact:
*
* PDC Software Distribution Internet: BIX:
* P.O. Box 4006 or hummel@cs.uiuc.edu lhummel
* Urbana, IL 61801-8801 petersen@uicsrd.csrd.uiuc.edu
*/
/*
* stdio.h
*
* 02.3.91 sjw; use K&R2 prototypes
* 17.3.91 sjw; move fdopen(), fileno() to unix.h
* 15.7.91 sjw; move them back again.
*/
#ifndef __STDIO_H__
#define __STDIO_H__
/* - bit of efficiency here - */
#ifndef __STDDEF_H__
#include <stddef.h>
#endif
#ifndef __STDARG_H__
#include <stdarg.h>
#endif
struct _iobuf {
struct _iobuf *next; /* Link to next buffer in chain */
int _fileunit; /* File descriptor */
char *_filecpos; /* Current position in buffer */
char *_fileend; /* Last position in buffer */
long _filelen; /* Buffer size */
char *_filebufp; /* za buffer */
char _filebyte; /* Instant one-byte buffer */
char _padbyte;
unsigned short _fileflag; /* Condition flags */
};
#define FILE struct _iobuf
extern FILE _fdevtab[];
#define BUFSIZ (1024)
#define MAX_READ_SIZE (1024)
#define _FILEACTIVE 0x01
#define _FILEISDIRTY 0x02
#define _FILEATEOF 0x04
#define _FILEBAD 0x08
#define _FILEISDYNA 0x10
#define _FILEISTTY 0x20
#define _IOREAD 0x1
#define _IOWRT 0x2
#define _IOEOF 0x10
#define _IOERR 0x20
#define _IORW 0x100
#define EOF (-1)
/* defines for fseek() */
#define SEEK_SET 0
#define SEEK_CUR 1
#define SEEK_END 2
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
/* the functions ... */
/* B1.1 */
FILE *fopen(const char *filename, const char *mode);
FILE *freopen(const char *filename, const char *mode, FILE *stream);
int fflush(FILE *stream);
int fclose(FILE *stream);
#ifndef __SYSTEM_H__
#include <system.h>
#endif
#define remove(fileName) unlink(fileName)
int rename(const char *oldname, const char *newname);
FILE *tmpfile(void);
char *tmpnam(char *s);
#if 0
int setvbuf(FILE *stream, char *buf, int mode, size_t size);
void setbuf(FILE *stream, char *buf);
#endif
/* B1.2 */
int fprintf(FILE *stream, const char *format, ...);
int printf(const char *format, ...);
int sprintf(char *s, const char *format, ...);
int vfprintf(FILE *stream, const char *format, va_list arg);
int vprintf(const char *format, va_list arg);
int vsprintf(char *s, const char *format, va_list arg);
/* B1.3 */
int fscanf(FILE *stream, const char *format, ...);
int scanf(const char *format, ...);
int sscanf(const char *s, const char *format, ...);
/* B1.4 */
int fgetc(FILE *stream);
char *fgets(char *s, int n, FILE *stream);
int fputc(int c, FILE *stream);
int fputs(const char *s, FILE *stream);
#define getc(c) fgetc((c))
#define getchar() fgetc(stdin)
#if 0
char *gets(char *s);
#endif
#define putc(c,s) fputc((c),(s))
#define putchar(c) fputc((c), stdout)
int puts(const char *s);
int ungetc(int c, FILE *stream);
/* B1.5 */
size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream);
/* B1.6 */
int fseek(FILE *stream, long offset, int origin);
long ftell(FILE *stream);
void rewind(FILE *stream);
#if 0
int fgetpos(FILE *stream, long *ptr); /* _nb_ not fpos_t */
int fsetpos(FILE *stream, const long *ptr);
#endif
/* B1.7 */
#define clearerr(p) ((p)->_fileflag &= ~(_FILEBAD|_FILEATEOF))
#define feof(p) (((p)->_fileflag&_FILEATEOF)!=0)
#define ferror(p) (((p)->_fileflag&_FILEBAD)!=0)
void perror(const char *s);
/* extras */
FILE *fdopen(int desc, const char *mode);
#define fileno(p) ((p)->_fileunit)
#endif /* __STDIO_H__ */